package br.edu.ufcg.lsd.wbis.control.user;

import java.util.List;

/**
 * This DAO is responsible for keeping the information about system users
 * 
 * @author Paulo Ricardo
 */
public interface UserDAO {

	/**
	 * Retrieves all the users that are registered
	 * 
	 * @return A list of users
	 */
	public List<User> getUsers();

	/**
	 * Removes a user that is registered
	 * 
	 * @param user
	 *            to be removed
	 */
	public void removeUser(User user);

	/**
	 * Registers a user
	 * 
	 * @param user
	 *            to be added
	 */
	public void addUser(User user);

	/**
	 * Updates information about a user
	 * 
	 * @param user
	 *            to be updated
	 */
	public void updateUser(User user);
}
